﻿using NP.BPMReportPlatform.Reports.ThirdFlow.Dtos;
using NP.BPMReportPlatform.StandardApprovalFlow.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace NP.BPMReportPlatform.Reports.ThirdFlow
{
    public interface IThirdFlowCommonService : IApplicationService
    {
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<GetThirdFlowCommonOutput>> GetAllAsync(GetThirdFlowCommonInput input);

        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<GetThirdFlowCommonOutput>> ExportAsync(GetThirdFlowCommonInput input);

        /// <summary>
        /// 回调
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<string> ThirdFlowCallBack(ThirdFlowCallBakInput input);

        /// <summary>
        /// 作废
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<string> ThirdFlowCancel(ThidFlowOpreaterInput input);

        /// <summary>
        /// 撤回
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<string> ThirdFlowRecall(ThidFlowOpreaterInput input);
    }
}
